package com.aiwiown.face.domain;

import com.aiwiown.face.ApiObject;
import com.aiwiown.face.domain.params.ApiParamType;
import com.aiwiown.face.internal.mapping.ApiField;

import java.io.File;

/**
 * @ClassName : Face3DFaceModel
 * @Description :
 * @Author : dbin0123
 * @Date: 2020-05-23 13:02
 */
public class Face3DFaceModel extends ApiObject {
    private static final long serialVersionUID = -848862052926784647L;

    //image_url_1
    //String
    //
    //人脸正脸图片的 URL
    //
    //注：在下载图片时可能由于网络等原因导致下载图片时间过长，建议使用 image_file 或 image_base64 参数直接上传图片。
    //
    //image_file_1
    //File
    //
    //人脸正脸图片的二进制文件，需要用 post multipart/form-data 的方式上传。
    //image_base64_1	String
    //base64 编码的二进制图片数据
    //
    //如果同时传入了 image_url、image_file 和 image_base64参数，本 API 使用顺序为image_file 优先，image_url最低。

    /**
     * 人脸正脸图片的 URL
     */
    @ApiField(value = "image_url_1")
    private String imageUrl1;
    /**
     * 人脸正脸图片的二进制文件
     */
    @ApiField(value = "image_file_1", paramType = ApiParamType.FILE)
    private File imageFile1;
    /**
     * base64 编码的二进制图片数据
     */
    @ApiField(value = "image_base64_1")
    private String imageBase641;

    /**
     * 人脸正脸图片的 URL
     */
    @ApiField(value = "image_url_2")
    private String imageUrl2;
    /**
     * 人脸正脸图片的二进制文件
     */
    @ApiField(value = "image_file_2", paramType = ApiParamType.FILE)
    private File imageFile2;
    /**
     * base64 编码的二进制图片数据
     */
    @ApiField(value = "image_base64_2")
    private String imageBase642;

    /**
     * 人脸正脸图片的 URL
     */
    @ApiField(value = "image_url_3")
    private String imageUrl3;
    /**
     * 人脸正脸图片的二进制文件
     */
    @ApiField(value = "image_file_3", paramType = ApiParamType.FILE)
    private File imageFile3;
    /**
     * base64 编码的二进制图片数据
     */
    @ApiField(value = "image_base64_3")
    private String imageBase643;

    /**
     * 是否返回纹理图。值可以取：
     * 1: 返回
     * 0: 不返回
     * 注：默认值为 0
     */
    @ApiField(value = "texture")
    private Integer texture;

    /**
     * 是否返回mtl文件。值可以取：
     * 1: 返回
     * 0: 不返回
     * 注：默认值为 0
     */
    @ApiField(value = "mtl")
    private Integer mtl;

    public String getImageUrl1() {
        return imageUrl1;
    }

    public void setImageUrl1(String imageUrl1) {
        this.imageUrl1 = imageUrl1;
    }

    public File getImageFile1() {
        return imageFile1;
    }

    public void setImageFile1(File imageFile1) {
        this.imageFile1 = imageFile1;
    }

    public String getImageBase641() {
        return imageBase641;
    }

    public void setImageBase641(String imageBase641) {
        this.imageBase641 = imageBase641;
    }

    public String getImageUrl2() {
        return imageUrl2;
    }

    public void setImageUrl2(String imageUrl2) {
        this.imageUrl2 = imageUrl2;
    }

    public File getImageFile2() {
        return imageFile2;
    }

    public void setImageFile2(File imageFile2) {
        this.imageFile2 = imageFile2;
    }

    public String getImageBase642() {
        return imageBase642;
    }

    public void setImageBase642(String imageBase642) {
        this.imageBase642 = imageBase642;
    }

    public String getImageUrl3() {
        return imageUrl3;
    }

    public void setImageUrl3(String imageUrl3) {
        this.imageUrl3 = imageUrl3;
    }

    public File getImageFile3() {
        return imageFile3;
    }

    public void setImageFile3(File imageFile3) {
        this.imageFile3 = imageFile3;
    }

    public String getImageBase643() {
        return imageBase643;
    }

    public void setImageBase643(String imageBase643) {
        this.imageBase643 = imageBase643;
    }

    public Integer getTexture() {
        return texture;
    }

    public void setTexture(Integer texture) {
        this.texture = texture;
    }

    public Integer getMtl() {
        return mtl;
    }

    public void setMtl(Integer mtl) {
        this.mtl = mtl;
    }
}
